package com.yuyou.fn.educational.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.github.wens.mybatisplus.annotations.TableField;
import com.github.wens.mybatisplus.annotations.TableId;
import com.github.wens.mybatisplus.annotations.TableName;
import com.github.wens.mybatisplus.examples.Example;
import io.swagger.annotations.ApiModelProperty;

/**
 *
 * 申请新增的班级信息
 *
 */
@TableName(value = "apply_class")
public class ApplyClass implements Serializable {

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

	public static Example<ApplyClass> createExample(){
		return new Example<ApplyClass>(ApplyClass.class);
	}
	@TableField(exist = false)
	public static Map<Integer,String> auditStatusMap=new HashMap<>();
	static {
		auditStatusMap.put(0,"未审核");
		auditStatusMap.put(1,"审核通过");
		auditStatusMap.put(2,"审核不通过");
	}

	/**  */
	@TableId(value = "apply_class_id")
	private Long applyClassId;

	/**  */
	@TableField(value = "area_team_id")
	private Long areaTeamId;

	/**  */
	@TableField(value = "period_id")
	private Long periodId;

	/**  */
	@TableField(value = "bus_team_id")
	private Long busTeamId;

	/**  */
	@TableField(value = "grade_id")
	private Long gradeId;

	/**  */
	@TableField(value = "subject_id")
	private Long subjectId;

	/**  */
	private Integer level;

	/**  */
	@TableField(value = "class_name")
	private String className;

	/**  */
	@TableField(value = "start_course_time")
	private Date startCourseTime;

	/**  */
	@TableField(value = "studying_time")
	private String studyingTime;

	/**  */
	@TableField(value = "teacher_id")
	private Long teacherId;

	/**  */
	@TableField(value = "apply_reason")
	@ApiModelProperty("申请理由")
	private String applyReason;

	/**  */
	@TableField(value = "audit_reason")
	@ApiModelProperty("审核理由")
	private String auditReason;

	/** 申请人id */
	@TableField(value = "proposer_id")
	private Long proposerId;

	/**  */
	@TableField(value = "proposer_name")
	@ApiModelProperty("申请人")
	private String proposerName;

	/** 0 未审核， 1审核通过， 2 审核不通过 */
	@TableField(value = "audit_status")
	@ApiModelProperty("0 未审核， 1审核通过， 2 审核不通过")
	private Integer auditStatus;

	/**  */
	@TableField(value = "audit_person_id")
	private Long auditPersonId;

	/**  */
	@TableField(value = "audit_person_name")
	@ApiModelProperty("审核人")
	private String auditPersonName;

	/** 生成的班级id */
	@TableField(value = "generate_class_id")
	private Long generateClassId;

	/** 是否生成过班级，0 未， 1生成 */
	@TableField(value = "generate_class_status")
	@ApiModelProperty("是否生成过班级，0 未， 1生成 ")
	private Integer generateClassStatus;

	/**  */
	@TableField(value = "create_time")
	private Date createTime;

	/**  */
	@TableField(value = "update_time")
	private Date updateTime;

	public Long getApplyClassId() {
		return this.applyClassId;
	}

	public void setApplyClassId(Long applyClassId) {
		this.applyClassId = applyClassId;
	}

	public Long getAreaTeamId() {
		return this.areaTeamId;
	}

	public void setAreaTeamId(Long areaTeamId) {
		this.areaTeamId = areaTeamId;
	}

	public Long getPeriodId() {
		return this.periodId;
	}

	public void setPeriodId(Long periodId) {
		this.periodId = periodId;
	}

	public Long getBusTeamId() {
		return this.busTeamId;
	}

	public void setBusTeamId(Long busTeamId) {
		this.busTeamId = busTeamId;
	}

	public Long getGradeId() {
		return this.gradeId;
	}

	public void setGradeId(Long gradeId) {
		this.gradeId = gradeId;
	}

	public Long getSubjectId() {
		return this.subjectId;
	}

	public void setSubjectId(Long subjectId) {
		this.subjectId = subjectId;
	}

	public Integer getLevel() {
		return this.level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public String getClassName() {
		return this.className;
	}

	public void setClassName(String className) {
		this.className = className;
	}

	public Date getStartCourseTime() {
		return this.startCourseTime;
	}

	public void setStartCourseTime(Date startCourseTime) {
		this.startCourseTime = startCourseTime;
	}

	public String getStudyingTime() {
		return this.studyingTime;
	}

	public void setStudyingTime(String studyingTime) {
		this.studyingTime = studyingTime;
	}

	public Long getTeacherId() {
		return this.teacherId;
	}

	public void setTeacherId(Long teacherId) {
		this.teacherId = teacherId;
	}

	public String getApplyReason() {
		return this.applyReason;
	}

	public void setApplyReason(String applyReason) {
		this.applyReason = applyReason;
	}

	public String getAuditReason() {
		return this.auditReason;
	}

	public void setAuditReason(String auditReason) {
		this.auditReason = auditReason;
	}

	public Long getProposerId() {
		return this.proposerId;
	}

	public void setProposerId(Long proposerId) {
		this.proposerId = proposerId;
	}

	public String getProposerName() {
		return this.proposerName;
	}

	public void setProposerName(String proposerName) {
		this.proposerName = proposerName;
	}

	public Integer getAuditStatus() {
		return this.auditStatus;
	}

	public void setAuditStatus(Integer auditStatus) {
		this.auditStatus = auditStatus;
	}

	public Long getAuditPersonId() {
		return this.auditPersonId;
	}

	public void setAuditPersonId(Long auditPersonId) {
		this.auditPersonId = auditPersonId;
	}

	public String getAuditPersonName() {
		return this.auditPersonName;
	}

	public void setAuditPersonName(String auditPersonName) {
		this.auditPersonName = auditPersonName;
	}

	public Long getGenerateClassId() {
		return this.generateClassId;
	}

	public void setGenerateClassId(Long generateClassId) {
		this.generateClassId = generateClassId;
	}

	public Integer getGenerateClassStatus() {
		return this.generateClassStatus;
	}

	public void setGenerateClassStatus(Integer generateClassStatus) {
		this.generateClassStatus = generateClassStatus;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

}
